package com.rybbaby.tss.front.tssAppAppointmentManage.entity;

import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;
import org.hibernate.annotations.GenericGenerator;

import javax.persistence.*;
import java.io.Serializable;

/**
 * @description 预约课程\活动
 * 
 * @author zhang
 * 
 * @createDate 2018-01-08 下午1:56:22
 */
@Entity
@Table(name = "tss_app_appointment_manage")
@DynamicUpdate(true)
@DynamicInsert(true)
public class TssAppAppointmentManage implements Serializable {
	
	private static final long serialVersionUID = 160310965932678L;
	
	/**  **/
	private String id;
	/** 预约类型 1 课程 2活动 **/
	private Integer type;
	/** 宝宝姓名 **/
	private String name;
	/** 联系方式 **/
	private String contractPhone;
	/** 年龄 **/
	private String age;
	/** 课程或者活动id **/
	private String courceOrActivityId;
	/** 家长id **/
	private String parentId;
	/** 处理状态 **/
	private Integer disposeStatus;
	/** 申请时间 **/
	private java.sql.Timestamp createTime;
	/** 版本 **/
	private Integer version;

	/**
	 * 方法: 取得
	 *
	 * @return java.lang.String
	 */
	@Id
	@GeneratedValue(generator = "tss_app_appointment_manageIDGenerator" , strategy = GenerationType.AUTO)
	@GenericGenerator(name = "tss_app_appointment_manageIDGenerator" , strategy = "uuid")
	@Column(name = "id", nullable= false, length = 32)
	public String getId() {
		return this.id;
	}

	/**
	 * 方法: 设置
	 *
	 * @param id
	 */
	public void setId(String id) {
		this.id = id;
	}

	/**
	 * 方法: 取得预约类型 1 课程 2活动
	 *
	 * @return java.lang.Integer 预约类型 1 课程 2活动
	 */
	@Column(name = "type", nullable= true, length = 11)
	public Integer getType() {
		return this.type;
	}

	/**
	 * 方法: 设置预约类型 1 课程 2活动
	 *
	 * @param type 预约类型 1 课程 2活动
	 */
	public void setType(Integer type) {
		this.type = type;
	}

	/**
	 * 方法: 取得宝宝姓名
	 *
	 * @return java.lang.String 宝宝姓名
	 */
	@Column(name = "name", nullable= true, length = 20)
	public String getName() {
		return this.name;
	}

	/**
	 * 方法: 设置宝宝姓名
	 *
	 * @param name 宝宝姓名
	 */
	public void setName(String name) {
		this.name = name;
	}

	/**
	 * 方法: 取得联系方式
	 *
	 * @return java.lang.String 联系方式
	 */
	@Column(name = "contractPhone", nullable= true, length = 11)
	public String getContractPhone() {
		return this.contractPhone;
	}

	/**
	 * 方法: 设置联系方式
	 *
	 * @param contractPhone 联系方式
	 */
	public void setContractPhone(String contractPhone) {
		this.contractPhone = contractPhone;
	}

	/**
	 * 方法: 取得年龄
	 *
	 * @return java.lang.String 年龄
	 */
	@Column(name = "age", nullable= true, length = 20)
	public String getAge() {
		return this.age;
	}

	/**
	 * 方法: 设置年龄
	 *
	 * @param age 年龄
	 */
	public void setAge(String age) {
		this.age = age;
	}

	/**
	 * 方法: 取得课程或者活动id
	 *
	 * @return java.lang.String 课程或者活动id
	 */
	@Column(name = "courceOrActivityId", nullable= true, length = 32)
	public String getCourceOrActivityId() {
		return this.courceOrActivityId;
	}

	/**
	 * 方法: 设置课程或者活动id
	 *
	 * @param courceOrActivityId 课程或者活动id
	 */
	public void setCourceOrActivityId(String courceOrActivityId) {
		this.courceOrActivityId = courceOrActivityId;
	}

	/**
	 * 方法: 取得家长id
	 *
	 * @return java.lang.String 家长id
	 */
	@Column(name = "parentId", nullable= true, length = 32)
	public String getParentId() {
		return this.parentId;
	}

	/**
	 * 方法: 设置家长id
	 *
	 * @param parentId 家长id
	 */
	public void setParentId(String parentId) {
		this.parentId = parentId;
	}

	/**
	 * 方法: 取得处理状态
	 *
	 * @return java.lang.Integer 处理状态
	 */
	@Column(name = "disposeStatus", nullable= true, length = 11)
	public Integer getDisposeStatus() {
		return this.disposeStatus;
	}

	/**
	 * 方法: 设置处理状态
	 *
	 * @param disposeStatus 处理状态
	 */
	public void setDisposeStatus(Integer disposeStatus) {
		this.disposeStatus = disposeStatus;
	}

	/**
	 * 方法: 取得申请时间
	 *
	 * @return java.sql.Timestamp 申请时间
	 */
	@Column(name = "createTime", nullable= true, length = 19)
	public java.sql.Timestamp getCreateTime() {
		return this.createTime;
	}

	/**
	 * 方法: 设置申请时间
	 *
	 * @param createTime 申请时间
	 */
	public void setCreateTime(java.sql.Timestamp createTime) {
		this.createTime = createTime;
	}

	/**
	 * 方法: 取得版本
	 *
	 * @return java.lang.Integer 版本
	 */
    @Version
	@Column(name = "version", nullable= true, length = 11)
	public Integer getVersion() {
		return this.version;
	}

	/**
	 * 方法: 设置版本
	 *
	 * @param version 版本
	 */
	public void setVersion(Integer version) {
		this.version = version;
	}
}